package com.quad.innovators.salesease.service.warehouse;

import com.baomidou.mybatisplus.extension.service.IService;
import com.quad.innovators.salesease.common.result.PageResultBean;
import com.quad.innovators.salesease.model.entity.warehouse.ArrivalOrder;
import com.quad.innovators.salesease.model.entity.warehouse.PurchaseOrder;
import com.quad.innovators.salesease.model.form.warehouse.ArrivalOrderForm;
import com.quad.innovators.salesease.model.form.warehouse.PurchaseOrderForm;
import com.quad.innovators.salesease.model.query.warehouse.ArrivalOrderPageQuery;
import com.quad.innovators.salesease.model.query.warehouse.PurchaseOrderPageQuery;
import com.quad.innovators.salesease.model.vo.warehouse.ArrivalOrderVO;
import com.quad.innovators.salesease.model.vo.warehouse.PurchaseOrderVO;

/**
 * @author : shanshan.li
 * @createTime : 2024/10/18 15:24
 * @Version : 1.0 
 */
public interface ArrivalOrderService extends IService<ArrivalOrder> {

    /**
     * 分页查询
     * @param queryParams 查询参数
     * @return 返回结果
     */
    PageResultBean<ArrivalOrderVO> listPage(ArrivalOrderPageQuery queryParams);


    /**
     * 新增采购单
     * @param form 增加参数
     * @return 返回结果
     */
    boolean save(ArrivalOrderForm form);

    /**
     * 获取详情信息
     * @param code 查询code
     * @return 返回表单数据
     */
    ArrivalOrderForm getFormData(String code);

    /**
     * 修改采购单信息
     * @param code 采购单code
     * @param form 修改信息
     * @return 返回结果
     */
    boolean update(String code, ArrivalOrderForm form);

    /**
     * 修改到货扫码状态
     * @param code 修改的到货单code
     * @param scanStatus 要修改的扫码状态
     * @return 返回是否成功
     */
    boolean arrivalScan(String code, Integer scanStatus);

    /**
     * H5获取详情信息
     * @param code 到货单详情code
     * @return 返回到货单详情
     */
    ArrivalOrderForm getFormDataH5(String code);
}
